#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
  fprintf(stdout,"hello stdout");

  const char *s="hello 1\n";
  write(1,s,strlen(s));












 // umask(0);//默认设置为umask为000
 // //int fd=open("log.txt",O_WRONLY | O_CREAT | O_TRUNC,0666);//0666表示 rw-rw-rw-  //打开文件
 // //int fd=open("log.txt",O_WRONLY | O_CREAT | O_APPEND,0666);//0666表示 rw-rw-rw-  //打开文件
 // //int fd = open("log.txt",O_RDONLY);//只读的方式打开
 // 
 // int fd1=open("log1.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
 // printf("open success,fd1:%d\n",fd1);
 // int fd2=open("log2.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
 // printf("open success,fd2:%d\n",fd2);
 // int fd3=open("log3.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
 // printf("open success,fd3:%d\n",fd3);
 // int fd4=open("log4.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
 // printf("open success,fd4:%d\n",fd4);
 // 
 // /*if(fd<0)
 // {
 //   perror("open");
 //   return 1; 
 // }*/
 //
 ///* char buffer[64];
 // memset(buffer,'\0',sizeof(buffer));
 // read(fd,buffer,sizeof(buffer));//将fd文件的内容复制到s中
 // printf("%s",buffer);
//*/
 //
 // //const char *s="hello write\n";
 // //const char *s="aa\n";
 // //write(fd,s,strlen(s));//写入数据
 // 
 //// printf("open succedd,fd:%d\n",fd);
 //
 // //close(fd);//关闭
 // close(fd1);
 // close(fd2);
 // close(fd3);
 // close(fd4);
 //
 // return 0;
}







/*
//用int中的不重复的一个bit，就可以标识一种状态
#define ONE 0x1   
#define TWO 0x2
#define THREE 0x4

void show(int flags)
{
  if(flags& ONE)
  {
    printf("hello one\n");
  }
  if(flags&TWO)
  {
    printf("hello two\n"); 
  }
  if(flags&THREE)
  {
    printf("hello three\n");
  }
}
int main()
{ 
  show(ONE);
  printf("--------------------\n");
  show(TWO);
  printf("--------------------\n");
  show(ONE | TWO);
  printf("--------------------\n");
  show(ONE | TWO | THREE);
  printf("--------------------\n");
  show(ONE | THREE);
  printf("--------------------\n");
}

*/



//int main(int argc,char *argv[])
//{
 // if(argc!=2)
 // {
 //   printf("argv error!\n");
 //   return 1;
 // }
 //
 //// FILE *fp=fopen("log.txt","w");
 // //FILE *fp=fopen("log.txt","a");//追加内容
 // FILE *fp=fopen(argv[1],"r");//追加内容
 // if(fp==NULL)
 // {
 //
 //   perror("fopen");
 //   return 2;
 // }
 //
 // //按行读：
 // char line[64];
 // while(fgets(line,sizeof(line),fp)!=NULL)
 // {
 //   //printf("%s",line);
 //   fprintf(stdout,"%s",line);
 // }
 //
 //
 //
 // //进行文件操作
 //// const char *s1="hello fwrite\n";
 // //fwrite(s1,strlen(s1),1,fp);//这里不能写strlen()+1,\0结尾是C语言的规定，文件遵守该规定，文件保存的是有效数据。
///*
 // const char *s2="hello fprintf\n";
 // fprintf(fp,"%s",s2);
 //
 // const char *s3="hello fputs\n";
 // fputs(s3,fp);
//
 // fclose(fp);
 //
 // return 0;
//}
